package com.bytezero.oop;
/**
 * 
 * @Description 
 * @author  Bytezero·zhenglei!      Email:420498246@qq.com
 * @version
 * @date 2021年9月11日下午3:50:53
 * @
 * 
 * 类方法的声明和使用
 * 
 * 方法：描述类应该具有的功能
 * 比如：Math类：sqrt()\random()\...
 *       Scanner类：nextXxx() ...
 *       Arrays类：sort() \ binarySerach\toString \equals\...
 *       
 * 1.举例
 * public void eat(){}
 * public void sleep(int hour){}
 * public String getName(){}
 * public String getNation(String nation){}
 * 
 * 
 * 
 * 2.方法的声明：权限修饰符 返回值类型 方法名（形参列表）{
 *            方法体
 *   
 * }
 *     static final abstract 来修饰的方法     
 * 
 * 3.说明
 *      关于权限的修饰符：
 *     Java规定的4种权限修饰符： private public protected  缺省
 *     
 *     
 *     返回值类型：有返回值 没有返回值
 *       如果方法有返回值 则必须在方法声明时，指定返回值类型 同时方法中 需要
 *         使用 return关键字来返回指定的类型或常量
 * 
 *       如果方法没有返回值 使用 void 就不使用 return，但是，如果使用的话，
 *         只能"return;" 表示结束当前的方法
 *         
 *         方法名：属于标识符 遵循标识符的规范和规则.”见名知意“
 *         形参列表：方法可以声明0个，1个或多个形参
 *         格式：数据类型1  形参1，数据类型2 形参2......
 *         
 *         方法体：方法功能的体现。
 *         
 *         
 * 
 * return 关键字的使用：
 *     1.适用范围：使用在方法体中
 *     2.作用：结束一个方法.
 *             针对于有返回值类型的方法 使用“return 数据” 方法，返回所要的数据
 *             return关键字后面不可以声明执行语句
 *             
 *   方法的使用：可以调用当前类的属性或方法   //方法里面调方法
 *               特殊的：方法A中又调用了方法A：递归方法
 *           方法中不可以定义方法
 */
public class CustomerTest 
{
	public static void main(String[] args)
	{
		Customer c1 = new Customer();
		c1.eat();
		
		int[]arr = new int[] {1,2,3,5,58,0,23};
		 
	    for(int i = 0; i <arr.length; i++)
	    {
	    	System.out.print(arr[i]+" ");
	    }
	    System.out.println();
	    c1.sort(arr);
	    for(int i = 0; i <arr.length; i++)
	    {
	    	System.out.print(arr[i]+" ");
	    }
	    System.out.println();
	   
	  //  c1.getName();
	    System.out.println(c1.getName());
	    //方法里面调方法
	    c1.sleep(9);
     
	  
	}
}

class Customer
{
	//属性
	String name;
	int age;
	boolean isMale;
	
	
	//方法
	 public void eat()
	{
		System.out.println("客户吃饭！");
	}
	public void sleep(int hour)
	{
		System.out.println("休息了"+hour+"个小时");
	
		
		eat();
	}
	
	//返回值
	public String getName()
	{
		//return name;
		return "Tom";
	}
	
	public String getNation(String nation)
	{
		String info="我的国籍是："+ nation;
		return info;
	}
	public void sort(int[] arr)
	{
		for(int i = 0; i <arr.length-1;i++)
		{
			for(int j = 0; j<arr.length-1-i; j++)
			{
				if(arr[j] > arr[j+1])
				{
					int temp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = temp;
					
				}
			}
		}
		return;
	}

	 
	
}












































































